HerdDB profile for integration tests#79
Conversation
|
@struberg @rmannibucau FYI |
| </dependency> | ||
| </dependencies> | ||
| <properties> | ||
| <connection.driver.name>herddb.jdbc.Driver</connection.driver.name> |
There was a problem hiding this comment.
what about a plain java test since herddb is java? docker is mainly an additional test to enable to test which looks not needed here, wdyt?
There was a problem hiding this comment.
For me docker is also fine. The benefit of a docker image is that you drop it and have a very well defined initial status.
There was a problem hiding this comment.
the main problem is about adding more jars in the classpath.
I am fine with using in-memory db as well, tests will be probably faster?
we should have both.
I would start with docker in order to not need to spend time in debugging potential problems about re-initialization of the server
There was a problem hiding this comment.
I would dependency:unpack the zip/stack and just launch it with a dedicated classloader (no conflict wth openjpa)
Docker is fine but don't expect it to be ran often except on the CI from time to time - this is my main point, only Mark runs docker profiles AFAIK.
|
@rmannibucau @struberg I am able to run the tests using HerdDB is pure "embedded" mode. When I developed the fixes for OpenJPA I did not run all of the tests, but only a basic subset. I have updated the patch, with |
|
I added a few references to the docs about the ways to run HerdDB probably many failures are due to:
This is a minimal test case project we have in HerdDB repository to ensure that OpenJPA is working with the basic features |
|
We can use assume to skip unsupported tests I guess for now and flag them explicitly as "todo" maybe? (For next release to not block it) |
|
@rmannibucau @struberg I am adding assumptions in order to skip test that fail to HerdDB. some tests fail due to assertions that do not keep into consideration that the dictionary is applying delimiters, some tests are due to some other syntax error (probably something not supported by Calcite) and some other errors fail due to some DB error that needs more investigation. |
|
|
||
| @Override | ||
| protected void setUp(Object... props) { | ||
| assumeFalse(this.getDBDictionary() instanceof HerdDBDictionary); |
There was a problem hiding this comment.
do you just want to skip this test for HerdDB? In which case you can simply call setUnsupportedDatabases(HerdDBDictionary.class)
There was a problem hiding this comment.
@struberg thanks for the hint.
I wasn't aware of setUnsupportedDatabases
I will rework this patch
This is a draft, I am going to add a profile that adds HerdDB 0.20.0 dependency and start HerdDB server in embeded in-memory only mode.
https://github.com/diennea/herddb/wiki/Installing-and-running-HerdDB
https://github.com/diennea/herddb/wiki/Using-JDBC-Driver